速報APP / 教育 / OS Algorithm Simulator

OS Algorithm Simulator

價格:免費

更新日期:2018-10-27

檔案大小:1.8M

目前版本:1.04

版本需求:Android 4.0 以上版本

官方網站:http://www.dl.kuis.kyoto-u.ac.jp/~rafael.lopez/software/os-algorithm-simulator/index.html

Email:phy.development@gmail.com

聯絡地址:Tanaka & Tajima Laboratory - Graduate School of Informatics - Kyoto University - Yoshida Honmachi - Sakyo-ku - 606-8501 - Kyoto - Japan

OS Algorithm Simulator(圖1)-速報App

OS Algorithm Simulator is an educational application that allows you to simulate the algorithms that make an Operating System (OS) work.

OS Algorithm Simulator(圖2)-速報App

As you may know, the main objective of an OS is to manage 4 resources:

OS Algorithm Simulator(圖3)-速報App

- The CPU.

OS Algorithm Simulator(圖4)-速報App

- The Memory.

OS Algorithm Simulator(圖5)-速報App

- The Input/Output (I/O) System.

OS Algorithm Simulator(圖6)-速報App

- The File System.

OS Algorithm Simulator(圖7)-速報App

Each OS contains several algorithms that provide the above functionalities. For instance, a CPU scheduling algorithm chooses which process should take the CPU in each instant. A second algorithm divides the memory in portions for each process, and decides which portions should be sent to disk and which ones should stay in RAM. Another algorithm is in charge of paying attention to all the interruptions that the hardware can produce to the I/O system, and so on.

In order to understand an OS deeply, one must know how these algorithms work and why some approaches that seem reasonable have been discarded by well-known Operating Systems such as Windows or Linux. The goal of this application is to provide explanations about different approaches to each problem and to illustrate how the each algorithm works by means of simulations. For that purpose, this app contains some examples, but it also allows you to provide your own datasets and check how each algorithm would perform on them. It is also important to say that in most of the cases, this application does not contain the state-of-the-art algorithms, but simplifications that we consider better for the learning process.